package com.sgb.member.weight;

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.core.content.ContextCompat;

import com.swgk.core.R;


/**
 * @author cfkali
 */
public class ScreenTextView extends RelativeLayout {

    private final Context context;
    private LinearLayout ll_content;
    private TextView tv_content;
    private ImageView img;
    private String mStr;
    private boolean img_xing_shi;

    public ScreenTextView(Context context) {
        this(context, null);
    }

    public ScreenTextView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public ScreenTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this.context = context;
        init();
        perseAttrs(attrs);
    }

    private void init() {
        View view = LayoutInflater.from(context).inflate(R.layout.view_item_screen_text, this);
        ll_content = view.findViewById(R.id.ll_content);
        tv_content = view.findViewById(R.id.tv_content);
        img = view.findViewById(R.id.img);
    }

    public void contentSelect(boolean haveContent, boolean isOpen) {
        if (!haveContent && isOpen) {
            //点击没选择 打开了弹窗
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.icon_up_red));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_main));
        } else if (haveContent && isOpen) {
            //点击已选择的按钮
            ll_content.setBackground(ContextCompat.getDrawable(context, R.drawable.search_new_blue_bg));
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.icon_up_red));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_main));
        } else if (haveContent && !isOpen) {
            //点击 选择或重新选择 关闭弹窗
            ll_content.setBackground(ContextCompat.getDrawable(context, R.drawable.search_new_blue_bg));
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.icon_down_red));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_main));
        } else if (!haveContent && !isOpen) {
            //取消选择 选择不限或全国
            ll_content.setBackground(ContextCompat.getDrawable(context, R.drawable.search_bg));
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.ic_down_arrow_n));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_tab_one));
        }
    }

    public void contentSelectRed(boolean haveContent, boolean isOpen) {
        if (!haveContent && isOpen) {
            //点击没选择 打开了弹窗
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.icon_up_red));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_EF4033));
        } else if (haveContent && isOpen) {
            //点击已选择的按钮
            ll_content.setBackground(ContextCompat.getDrawable(context, R.drawable.select_red_bg));
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.icon_up_red));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_EF4033));
        } else if (haveContent) {
            //点击 选择或重新选择 关闭弹窗
            ll_content.setBackground(ContextCompat.getDrawable(context, R.drawable.select_red_bg));
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.icon_down_red));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_EF4033));
        } else {
            //取消选择 选择不限或全国
            ll_content.setBackground(ContextCompat.getDrawable(context, R.drawable.search_bg));
            img.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.ic_down_arrow_n));
            tv_content.setTextColor(ContextCompat.getColor(context, R.color.color_333333));
        }
    }
    public void contentSelectGray(boolean haveContent, boolean isOpen) {
        if (!haveContent && isOpen) {
            //点击没选择 打开了弹窗
            img.setImageDrawable(context.getResources().getDrawable(R.mipmap.icn_up_arrow_n));
            tv_content.setTextColor(context.getResources().getColor(R.color.color_333333));
        } else if (haveContent && isOpen) {
            //点击已选择的按钮
            ll_content.setBackground(context.getResources().getDrawable(R.drawable.search_bg));
            img.setImageDrawable(context.getResources().getDrawable(R.mipmap.icn_up_arrow_n));
            tv_content.setTextColor(context.getResources().getColor(R.color.color_333333));
        } else if (haveContent && !isOpen) {
            //点击 选择或重新选择 关闭弹窗
            ll_content.setBackground(context.getResources().getDrawable(R.drawable.select_red_bg));
            img.setImageDrawable(context.getResources().getDrawable(R.mipmap.icon_down_red));
            tv_content.setTextColor(context.getResources().getColor(R.color.color_EF4033));
        } else if (!haveContent && !isOpen) {
            //取消选择 选择不限或全国
            ll_content.setBackground(context.getResources().getDrawable(R.drawable.search_bg));
            img.setImageDrawable(context.getResources().getDrawable(R.mipmap.ic_down_arrow_n));
            tv_content.setTextColor(context.getResources().getColor(R.color.color_333333));
        }
    }

    private void perseAttrs(AttributeSet attrs) {
        if (attrs != null) {
            TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ScreenTextView);
            //遍历AttributeSet中的XML属性
            //设置label名字
            tv_content.setText(typedArray.getString(R.styleable.ScreenTextView_tv_content));
            //设置颜色
            tv_content.setTextColor(typedArray.getColor(R.styleable.ScreenTextView_tv_color, getResources().getColor(R.color.color_333333)));
//            img.setVisibility(typedArray.getBoolean(R.styleable.ScreenTextView_img_visible,true)
//                    ?View.VISIBLE:View.GONE);
            typedArray.recycle();
        }
    }

    public void setText(String str) {
        mStr = str;
        tv_content.setText(str);
    }

    public void setImgGone() {
        img.setVisibility(View.GONE);
    }

    public void setImgVisible() {
        img.setVisibility(View.VISIBLE);
    }

    public String getText() {
        return mStr == null ? "不限" : mStr;
    }

    public void setImg(int res){
       img.setImageDrawable(context.getResources().getDrawable(res));
    }
}